home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / info / mailcrypt.info.z / mailcrypt.info
Encoding:
GNU Info File  |  1998-05-21  |  67.5 KB  |  1,664 lines

  1. This is Info file ../info/mailcrypt.info, produced by Makeinfo version
  2. 1.68 from the input file mailcrypt.texi.
  3.  
  4.    This documentation describes Mailcrypt version 3.4.  This
  5. documentation was last updated on October 10, 1995.
  6.  
  7.    Copyright 1995 Patrick J. LoPresti
  8.  
  9.    The Mailcrypt program and this manual are published as free software.
  10. You may redistribute and/or modify them under the terms of the GNU
  11. General Public License as published by the Free Software Foundation;
  12. either version 2, or (at your option) any later version.
  13.  
  14.    Mailcrypt is distributed in the hope that it will be useful, but
  15. WITHOUT ANY WARRANTY; without even the implied warranty of
  16. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  17. General Public License for more details.
  18.  
  19.    You should have received a copy of the GNU General Public License
  20. along with GNU Emacs; see the file COPYING.  If not, write to the Free
  21. Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  
  23. 
  24. File: mailcrypt.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
  25.  
  26. Mailcrypt
  27. *********
  28.  
  29.    Mailcrypt is an Emacs Lisp package which provides a simple but
  30. powerful interface to cryptographic functions for mail and news.
  31.  
  32.    This documentation describes Mailcrypt version 3.4.  The
  33. documentation was last updated on October 10, 1995.
  34.  
  35. * Menu:
  36.  
  37. * Introduction::                Read this first.
  38. * General Use::                 Everyday cryptographic functions.
  39. * Remailer Support::            Interface to secure anonymous remailers.
  40. * Passphrase Cache::            Letting Mailcrypt remember your passphrase
  41.                                   for a while.
  42. * Key Fetching::                Automatically retrieving public keys
  43.                                   via finger or HTTP.
  44. * Miscellaneous Configuration::  Random tweakables.
  45. * Tips::                        Hints and tricks.
  46. * Limitations::                 Things Mailcrypt does not do.
  47. * References::                  Pointers to relevant information.
  48. * Credits::                     Whom to blame.
  49. * Index::                       Keys, variables, and functions.
  50.  
  51.  -- The Detailed Node Listing --
  52.  
  53. Introduction
  54.  
  55. * Prerequisites::               Complicated stuff you may have to do.
  56. * Installation::                Simple stuff you probably have to do.
  57. * Command Overview::            A brief summary of the most common
  58.                                   commands.
  59.  
  60. Installation
  61.  
  62. * Hooking into Rmail::
  63. * Hooking into VM::
  64. * Hooking into MH-E::
  65. * Hooking into Gnus::
  66.  
  67. General Use
  68.  
  69. * Encrypting::                  Encrypting a message to one or more
  70.                                   recipients.
  71. * Signing::                     Clearsigning a message.
  72. * Inserting Keys::              Extracting a key from your public key
  73.                                   ring and inserting it.
  74. * Decrypting::                  Decrypting a message to you.
  75. * Verifying::                   Verifying the signature on a clearsigned
  76.                                   message.
  77. * Snarfing Keys::               Finding a key in the current message and
  78.                                  adding it to your keyring.
  79.  
  80. Remailer Support
  81.  
  82. * Remailer Introduction::       A little about remailers in general.
  83. * Remailer Quick Start::        Getting started quickly.
  84. * Remailer Chains::             Creating custom chains of your very own.
  85. * Response Blocks::             A way to let people reply to your
  86.                                   anonymous messages.
  87. * Pseudonyms::                  Who do you want to be today?
  88. * Remailing Posts::             Posting to USENET anonymously or
  89.                                   pseduonymously.
  90. * Mixmaster Support::           Remailers for the truly paranoid.
  91. * Remailer Security::           Caveats.
  92. * Verifiable Pseudonyms::       Giving expression to the voices in your
  93.                                   head.
  94. * Remailer Tips::               Free advice.
  95.  
  96. Key Fetching
  97.  
  98. * Keyring Fetch::               Fetching from one or more other
  99.                                   keyrings on the local system.
  100. * Finger Fetch::                Fetching a key through finger.
  101. * HTTP Fetch::                  Fetching a key off of the Web.
  102.  
  103. Miscellaneous Configuration
  104.  
  105. * Alternate Keyring::           Specifying a different file to act
  106.                                   like your public keyring.
  107. * Comment Field::               Burma
  108.                                   Shave
  109. * Mode Line::                   Changing that "MC-w" and "MC-r" stuff
  110. * Key Bindings::                Which keys cause which actions.
  111. * Nonstandard Paths::           Useful if your PGP installation is weird.
  112.  
  113. References
  114.  
  115. * Online Resources::            Recreational reading with a purpose.
  116. * Key Servers::                 Keepers of the Global Keyring.
  117. * Mailing List::                Staying informed while pumping the
  118.                                   authors' egos.
  119. * Politics::                    Anarcho-foobarism.
  120.  
  121. 
  122. File: mailcrypt.info,  Node: Introduction,  Next: General Use,  Prev: Top,  Up: Top
  123.  
  124. Introduction
  125. ************
  126.  
  127.    Mailcrypt is an Emacs Lisp package which provides a simple but
  128. powerful interface to cryptographic functions for mail and news.  With
  129. Mailcrypt, encryption becomes a seamlessly integrated part of your mail
  130. and news handling environment.
  131.  
  132.    This manual is long because it is complete.  All of the information
  133. you need to get started is contained in this Introduction alone.
  134.  
  135. * Menu:
  136.  
  137. * Prerequisites::               Complicated stuff you may have to do.
  138. * Installation::                Simple stuff you probably have to do.
  139. * Command Overview::            A brief summary of the most common
  140.                                   commands.
  141.  
  142. 
  143. File: mailcrypt.info,  Node: Prerequisites,  Next: Installation,  Prev: Introduction,  Up: Introduction
  144.  
  145. Prerequisites
  146. =============
  147.  
  148.    Mailcrypt requires version 19 of GNU Emacs.  Mailcrypt has been
  149. tested on a variety of systems under both FSF Emacs and XEmacs.
  150.  
  151.    Mailcrypt requires Pretty Good (tm) Privacy, usually known as PGP.
  152. This document assumes that you have already obtained and installed PGP
  153. and that you are familiar with its basic functions.  The best way to
  154. become familiar with these functions is to read the `PGP User's Guide',
  155. at least Volume I.
  156.  
  157.    For more information on obtaining and installing PGP, refer to the
  158. MIT PGP home page at `http://web.mit.edu/network/pgp.html'.
  159.  
  160.    Although Mailcrypt may be used to process data in arbitrary Emacs
  161. buffers, it is most useful in conjunction with other Emacs packages for
  162. handling mail and news.  Mailcrypt has specialized support for Rmail
  163. (*note Rmail: (emacs)Rmail.), VM (*note VM: (vm)Top.), MH-E, and Gnus
  164. (*note Gnus: (gnus)Top.).  Information on the general use of these
  165. packages is beyond the scope of this manual.
  166.  
  167. 
  168. File: mailcrypt.info,  Node: Installation,  Next: Command Overview,  Prev: Prerequisites,  Up: Introduction
  169.  
  170. Installation
  171. ============
  172.  
  173.    If Mailcrypt is not installed on your system, obtain the latest
  174. version from the Mailcrypt home page at
  175. `http://cag-www.lcs.mit.edu/mailcrypt/' and follow the instructions in
  176. the file `INSTALL'.
  177.  
  178.    Next, teach your Emacs how and when to load the Mailcrypt functions
  179. and install the Mailcrypt key bindings.  Almost all Emacs major modes
  180. (including mail and news handling modes) have corresponding "hook"
  181. variables which hold functions to be run when the mode is entered.  All
  182. you have to do is add the Mailcrypt installer functions to the
  183. appropriate hooks; then the installer functions will add the Mailcrypt
  184. key bindings when the respective mode is entered.
  185.  
  186.    Specifically, begin by placing the following lines into your
  187. `.emacs' file (or the system-wide `default.el' file):
  188.  
  189.      (autoload 'mc-install-write-mode "mailcrypt" nil t)
  190.      (autoload 'mc-install-read-mode "mailcrypt" nil t)
  191.      (add-hook 'mail-mode-hook 'mc-install-write-mode)
  192.  
  193.    Then add additional lines for your own mail and news packages as
  194. described below.
  195.  
  196. * Menu:
  197.  
  198. * Hooking into Rmail::
  199. * Hooking into VM::
  200. * Hooking into MH-E::
  201. * Hooking into Gnus::
  202.  
  203. 
  204. File: mailcrypt.info,  Node: Hooking into Rmail,  Next: Hooking into VM,  Prev: Installation,  Up: Installation
  205.  
  206. Hooking into Rmail
  207. ------------------
  208.  
  209.    To hook Mailcrypt into Rmail, use the following lines:
  210.  
  211.      (add-hook 'rmail-mode-hook 'mc-install-read-mode)
  212.      (add-hook 'rmail-summary-mode-hook 'mc-install-read-mode)
  213.  
  214. 
  215. File: mailcrypt.info,  Node: Hooking into VM,  Next: Hooking into MH-E,  Prev: Hooking into Rmail,  Up: Installation
  216.  
  217. Hooking into VM
  218. ---------------
  219.  
  220.    To hook Mailcrypt into VM, use the following lines:
  221.  
  222.      (add-hook 'vm-mode-hook 'mc-install-read-mode)
  223.      (add-hook 'vm-summary-mode-hook 'mc-install-read-mode)
  224.      (add-hook 'vm-virtual-mode-hook 'mc-install-read-mode)
  225.      (add-hook 'vm-mail-mode-hook 'mc-install-write-mode)
  226.  
  227. 
  228. File: mailcrypt.info,  Node: Hooking into MH-E,  Next: Hooking into Gnus,  Prev: Hooking into VM,  Up: Installation
  229.  
  230. Hooking into MH-E
  231. -----------------
  232.  
  233.    To hook Mailcrypt into MH-E, use the following lines:
  234.  
  235.      (add-hook 'mh-folder-mode-hook 'mc-install-read-mode)
  236.      (add-hook 'mh-letter-mode-hook 'mc-install-write-mode)
  237.  
  238. 
  239. File: mailcrypt.info,  Node: Hooking into Gnus,  Prev: Hooking into MH-E,  Up: Installation
  240.  
  241. Hooking into Gnus
  242. -----------------
  243.  
  244.    To hook Mailcrypt into Gnus, use the following lines:
  245.  
  246.      (add-hook 'gnus-summary-mode-hook 'mc-install-read-mode)
  247.      (add-hook 'news-reply-mode-hook 'mc-install-write-mode)
  248.  
  249. 
  250. File: mailcrypt.info,  Node: Command Overview,  Prev: Installation,  Up: Introduction
  251.  
  252. Command Overview
  253. ================
  254.  
  255.    All Mailcrypt commands are (by default) activated by three-character
  256. key sequences which begin with `C-c /'.  The four most common operations
  257. are:
  258.  
  259. *Encrypting a Message*
  260.      `C-c / e' encrypts a message using the recipient's (or recipients')
  261.      public key(s).  *Note Encrypting a Message: Encrypting.
  262.  
  263. *Decrypting a Message*
  264.      `C-c / d' decrypts a message using your secret key.  *Note
  265.      Decrypting a Message: Decrypting.
  266.  
  267. *Signing a Message*
  268.      `C-c / s' clearsigns a message using your secret key.  *Note
  269.      Signing a Message: Signing.
  270.  
  271. *Verifying a Signature*
  272.      `C-c / v' verifies the signature on a clearsigned message using the
  273.      sender's public key.  *Note Verifying a Signature: Verifying.
  274.  
  275.    These functions and others are documented in detail in the following
  276. chapters.
  277.  
  278.    Any time you are composing or reading mail or news, you can get a
  279. summary of the available commands by typing `C-h m'.  If you are
  280. running Emacs under X, an even easier way to see the available commands
  281. is to access the `Mailcrypt' pull-down menu.
  282.  
  283. 
  284. File: mailcrypt.info,  Node: General Use,  Next: Remailer Support,  Prev: Introduction,  Up: Top
  285.  
  286. General Use
  287. ***********
  288.  
  289.    Mailcrypt works by providing two minor modes for interfacing with
  290. cryptographic functions: `mc-read-mode' and `mc-write-mode'.
  291. `mc-read-mode' provides key bindings for processing messages which you
  292. have received; `mc-write-mode' provides key bindings for processing
  293. messages which you are about to send.  These minor modes will indicate
  294. when they are active by placing a characteristic string in the mode
  295. line (*note Mode Line::.).  They will also add a `Mailcrypt' pull-down
  296. menu to the menu bar.
  297.  
  298.    The normal installation procedure (*note Installation::.) will
  299. arrange for the appropriate mode to be active when you read and compose
  300. mail and news.  But you may want to use Mailcrypt's functions at other
  301. times; to do so, you can call `mc-install-read-mode' or
  302. `mc-install-write-mode' directly.  For example, if you were editing a
  303. file in Text mode and wanted to digitally sign it, you would type `M-x
  304. mc-install-write-mode', then `C-c / s' (*note Signing::.).
  305.  
  306.    Once one of the Mailcrypt modes is active, you can get a summary of
  307. the available functions by typing `C-h m' or by examining the
  308. `Mailcrypt' pull-down menu.
  309.  
  310.    The description of each function below includes which of the modes
  311. has a binding for that function.
  312.  
  313. * Menu:
  314.  
  315. * Encrypting::                  Encrypting a message to one or more
  316.                                   recipients.
  317. * Signing::                     Clearsigning a message.
  318. * Inserting Keys::              Extracting a key from your public key
  319.                                   ring and inserting it.
  320. * Decrypting::                  Decrypting a message to you.
  321. * Verifying::                   Verifying the signature on a clearsigned
  322.                                   message.
  323. * Snarfing Keys::               Finding a key in the current message and
  324.                                  adding it to your keyring.
  325.  
  326. 
  327. File: mailcrypt.info,  Node: Encrypting,  Next: Signing,  Prev: General Use,  Up: General Use
  328.  
  329. Encrypting a Message
  330. ====================
  331.  
  332.    The function `mc-encrypt' will encrypt a message in the current
  333. buffer.  `mc-write-mode' binds this function to `C-c / e' by default.
  334.  
  335.    When this function is called, Mailcrypt will prompt you for a
  336. comma-separated list of recipients.  If called from a mail composition
  337. buffer, the recipient list will default to the Email addresses in the
  338. `To', `CC', and `BCC' lines of the message.
  339.  
  340.    If you want to be able to decrypt the message yourself, you need to
  341. add yourself to the recipient list.  If you always want to do so, set
  342. the variable `mc-encrypt-for-me' to `t'.  (Note that Mailcrypt
  343. overrides the PGP "encrypttoself" flag; use this variable instead.)
  344.  
  345.    If you provide an empty recipient list, Mailcrypt will ASCII-armor
  346. the message without encrypting it.
  347.  
  348.    Once you have edited the recipient list to your satisfaction, type
  349. `<RET>' to accept it.  You will then be asked whether you want to sign
  350. the message; answer `y' or `n'.  You can avoid this question by setting
  351. the variable `mc-pgp-always-sign':  A value of `t' means "yes", a value
  352. of `'never' means "no".
  353.  
  354.    If you elect to sign the message, Mailcrypt will prompt you for the
  355. appropriate passphrase unless it is cached (*note Passphrase Cache::.).
  356.  
  357.    Mailcrypt will then pass the message to PGP for processing.
  358. Mailcrypt will call the functions listed in `mc-pre-encryption-hook' and
  359. `mc-post-encryption-hook' immediately before and after processing,
  360. respectively.  The encrypted message will then replace the original
  361. message in the buffer.  You can undo the encryption with the normal
  362. Emacs undo command `C-x u' (*note Emacs Undo: (emacs)Undo.).
  363.  
  364.    If an error occurs, Mailcrypt will display an appropriate diagnostic.
  365. If you do not have the public key for one of the specified recipients,
  366. Mailcrypt will offer to try to fetch it for you (*note Key Fetching::.).
  367.  
  368.    The default key for signing is the first one on the secret key ring
  369. which matches the string `mc-pgp-user-id'; this defaults to
  370. `(user-login-name)'.  Note that this differs from PGP's normal default,
  371. which is to use the first of *all* of the secret keys.  To mimic PGP's
  372. behavior, set this variable to `""'.
  373.  
  374.    If you want to use a secret key other than your default for signing
  375. the message, pass a prefix argument to `mc-encrypt'.  (That is, type
  376. `C-u C-c / e'.)  Mailcrypt will prompt for a string and will sign with
  377. the first key on your secret keyring which matches that string.  It will
  378. be assumed that you want to sign the message, so you will not be
  379. prompted.
  380.  
  381. 
  382. File: mailcrypt.info,  Node: Signing,  Next: Inserting Keys,  Prev: Encrypting,  Up: General Use
  383.  
  384. Signing a Message
  385. =================
  386.  
  387.    The function `mc-sign' will clearsign a message in the current
  388. buffer.  `mc-write-mode' binds this function to `C-c / s' by default.
  389.  
  390.    When this function is called, Mailcrypt will prompt you for the
  391. appropriate passphrase unless it is cached (*note Passphrase Cache::.).
  392.  
  393.    Mailcrypt will then pass the message to PGP for processing.
  394. Mailcrypt will call the functions listed in `mc-pre-signature-hook' and
  395. `mc-post-signature-hook' immediately before and after processing,
  396. respectively.  The signed message will replace the original message in
  397. the buffer.  *Do not* edit the message further with the signature
  398. attached, because the signature would then be incorrect.  If you
  399. discover you need to edit a message after you have signed it, remove the
  400. signature first with the normal Emacs undo command `C-x u' (*note Emacs
  401. Undo: (emacs)Undo.).
  402.  
  403.    The variable `mc-pgp-user-id' controls which secret key is used for
  404. signing; it is described in *Note Encrypting a Message: Encrypting.  To
  405. use a different secret key, pass a prefix argument to `mc-sign'.  (That
  406. is, type `C-u C-c / s'.)  Mailcrypt will prompt for a string and will
  407. sign with the first key on your secret keyring which matches that
  408. string.
  409.  
  410. 
  411. File: mailcrypt.info,  Node: Inserting Keys,  Next: Decrypting,  Prev: Signing,  Up: General Use
  412.  
  413. Inserting a Public Key Block
  414. ============================
  415.  
  416.    The function `mc-insert-public-key' will extract a key from your
  417. public keyring and insert it into the current buffer.  `mc-write-mode'
  418. binds this function to `C-c / x' by default.
  419.  
  420.    This function is useful for sending your public key to someone else
  421. or for uploading it to the key servers (*note Key Servers::.).  The
  422. inserted key will be the first one on your public key ring which
  423. matches the string `mc-pgp-user-id' (*note Encrypting a Message:
  424. Encrypting.).
  425.  
  426.    You may want to insert a different public key instead; for example,
  427. you may have signed someone's key and want to send it back to them.  To
  428. do so, pass a prefix argument to `mc-insert-public-key'.  (That is,
  429. type `C-u C-c / x'.)  You will be prompted for a string; the first key
  430. on your public key ring which matches that string will be inserted.
  431.  
  432. 
  433. File: mailcrypt.info,  Node: Decrypting,  Next: Verifying,  Prev: Inserting Keys,  Up: General Use
  434.  
  435. Decrypting a message
  436. ====================
  437.  
  438.    The function `mc-decrypt' will decrypt a message in the current
  439. buffer.  `mc-read-mode' binds this function to `C-c / d' by default.
  440.  
  441.    When this function is called, Mailcrypt will prompt you for the
  442. appropriate passphrase unless it is cached (*note Passphrase Cache::.).
  443.  
  444.    The encrypted message will then be passed to PGP for processing.  If
  445. you are not in a mail buffer, the decrypted message will replace the
  446. encrypted form.  If you are in a mail buffer, you will be prompted
  447. whether to do the replacement.
  448.  
  449.    If you answer `n', you will be placed in a new mail reading buffer
  450. to view the decrypted message.  This new mail reading buffer will have
  451. no corresponding disk file; its purpose is to provide you with all of
  452. your usual reply and citation functions without requiring you to save
  453. the message in decrypted form.  Type `q' to kill this buffer.
  454.  
  455.    You can avoid the question of whether to replace the encrypted
  456. message by setting the variable `mc-always-replace'.  A value of `t'
  457. means "yes"; a value of `'never' means "no".
  458.  
  459.    If the encrypted message is also signed, PGP will attempt to verify
  460. the signature.  If the verification fails because you lack the necessary
  461. public key, Mailcrypt will offer to fetch it for you (*note Key
  462. Fetching::.).
  463.  
  464.    Look in the `*MailCrypt*' buffer to see the result of the signature
  465. verification.
  466.  
  467. 
  468. File: mailcrypt.info,  Node: Verifying,  Next: Snarfing Keys,  Prev: Decrypting,  Up: General Use
  469.  
  470. Verifying a Signature
  471. =====================
  472.  
  473.    The function `mc-verify' will verify the cleartext signature on a
  474. message in the current buffer.  `mc-read-mode' binds this function to
  475. `C-c / v' by default.
  476.  
  477.    When this function is called, Mailcrypt will pass the message to PGP
  478. for processing and report whether or not the signature verified.
  479.  
  480.    If the signature failed to verify because you lack the necessary
  481. public key, Mailcrypt will offer to fetch it for you (*note Key
  482. Fetching::.).
  483.  
  484. 
  485. File: mailcrypt.info,  Node: Snarfing Keys,  Prev: Verifying,  Up: General Use
  486.  
  487. Snarfing a Key
  488. ==============
  489.  
  490.    The function `mc-snarf' will add to your keyring any keys in the
  491. current buffer.  `mc-read-mode' binds this function to `C-c / a' by
  492. default.
  493.  
  494.    This function is useful when someone sends you a public key in an
  495. Email message.
  496.  
  497. 
  498. File: mailcrypt.info,  Node: Remailer Support,  Next: Passphrase Cache,  Prev: General Use,  Up: Top
  499.  
  500. Remailer Support
  501. ****************
  502.  
  503.    This is a long chapter describing an advanced feature; you may want
  504. to skip it on first reading.
  505.  
  506. * Menu:
  507.  
  508. * Remailer Introduction::       A little about remailers in general.
  509. * Remailer Quick Start::        Getting started quickly.
  510. * Remailer Chains::             Creating custom chains of your very own.
  511. * Response Blocks::             A way to let people reply to your
  512.                                   anonymous messages.
  513. * Pseudonyms::                  Who do you want to be today?
  514. * Remailing Posts::             Posting to USENET anonymously or
  515.                                   pseduonymously.
  516. * Mixmaster Support::           Remailers for the truly paranoid.
  517. * Remailer Security::           Caveats.
  518. * Verifiable Pseudonyms::       Giving expression to the voices in your
  519.                                   head.
  520. * Remailer Tips::               Free advice.
  521.  
  522. 
  523. File: mailcrypt.info,  Node: Remailer Introduction,  Next: Remailer Quick Start,  Prev: Remailer Support,  Up: Remailer Support
  524.  
  525. Remailer Introduction
  526. =====================
  527.  
  528.    There are several anonymous remailer services running on the
  529. Internet.  These are programs that accept mail, strip off information
  530. that would identify the origin of the message, and forward the mail to
  531. the designated recipient.  This simple scheme alone, however, is
  532. insecure if the anonymous remailer becomes compromised (or if the
  533. remailer was set up by an untrustworthy party in the first place).
  534. Whoever controls the remailer will have access to the identities of
  535. senders and recipients.
  536.  
  537.    One solution to this is to use *chains* of remailers that send
  538. encrypted messages.  For example, suppose Bill wishes to send a message
  539. to Louis using a chain of remailers A, B, and C.  He writes the message
  540. (possibly encrypting it for Louis), then encrypts the result (including
  541. the fact that Louis is the recipient) using a public key supplied by
  542. remailer C.  Then he encrypts this result using a public key supplied by
  543. remailer B.  Then he encrypts this result using a public key supplied by
  544. A and sends the message to A.
  545.  
  546.    When A receives the message, it decrypts the message with its key to
  547. produce something encrypted for B, learns that the next remailer in the
  548. chain is B, strips off the information that the message came from Bill,
  549. and sends the message on to B.  B then decrypts, learns that the next
  550. remailer in the chain is C, strips off the information that the message
  551. came from A, and sends the result to C.  C then decrypts, learns that
  552. the destination is Louis, strips off the information that the message
  553. came from B, and sends the result to Louis.  With this arrangement, only
  554. A knows that the original message came from Bill, and only C knows that
  555. the intended recipient is Louis.  In general, the sender and recipient
  556. can both be known only to someone who has compromised all remailers in
  557. the chain.
  558.  
  559.    If Bill wishes, he can include an encrypted "response block" in his
  560. message to Louis, which defines a remailer chain that Louis can use to
  561. reply to Bill.  Louis can use this chain without knowing who Bill is -
  562. only the last remailer in the chain need know the final recipient.  Bill
  563. can also establish a *pseudonym* for use in signing his anonymous
  564. messages.
  565.  
  566.    Mailcrypt includes facilities for sending messages via remailers, for
  567. defining chains of remailers, for generating response blocks, and for
  568. using pseudonyms.
  569.  
  570. 
  571. File: mailcrypt.info,  Node: Remailer Quick Start,  Next: Remailer Chains,  Prev: Remailer Introduction,  Up: Remailer Support
  572.  
  573. Remailer Quick Start
  574. ====================
  575.  
  576.    To use Mailcrypt's remailing facilities, you need to configure them
  577. first.  Begin with the following steps:
  578.  
  579.   1. Do `finger remailer-list@kiwi.cs.berkeley.edu > ~/.remailers'.
  580.      This will create a Levien-format list of remailers in the file
  581.      `.remailers' in your home directory.  Mailcrypt will parse this the
  582.      first time you access a remailer function.
  583.  
  584.   2. Look over the `.remailers' file and find the ones you want to use.
  585.  
  586.   3. Add their PGP public keys to your keyring.  You can `finger
  587.      pgpkeys@kiwi.cs.berkeley.edu' for a list of remailer public keys.
  588.      Note that Mailcrypt *requires* that you have the public keys of
  589.      all the remailers you want to use, and therefore that the
  590.      remailers support PGP encryption.
  591.  
  592.  
  593.      *Note:* These steps need only be done once, although repeating them
  594.      from time to time is probably a good idea, since remailers come
  595.      and go.
  596.  
  597.    Now test the remailer functions.  First compose an outgoing Email
  598. message (using `C-x m', for example) addressed to yourself.  Type `C-c
  599. / r'.  Choose a remailer; use `<TAB>' to get completion on its name.
  600. The buffer will be rewritten for anonymous mailing through that
  601. remailer.
  602.  
  603. 
  604. File: mailcrypt.info,  Node: Remailer Chains,  Next: Response Blocks,  Prev: Remailer Quick Start,  Up: Remailer Support
  605.  
  606. Remailer Chains
  607. ===============
  608.  
  609.    `mc-write-mode' binds the function `mc-remailer-encrypt-for-chain'
  610. to the key `C-c / r'.  This function rewrites the message for a
  611. remailer or chain.  The resulting buffer is just a new Email message,
  612. so it can itself be rewritten for another remailer; this is one way to
  613. manually construct a remailer chain.
  614.  
  615.    Mailcrypt also has powerful facilities for defining automatic chains.
  616. We will start with an example.  Suppose you have put the following into
  617. your `.emacs' file:
  618.  
  619.      (setq mc-remailer-user-chains
  620.            '(("Foo" "alumni" "robo")
  621.              ("Bar" (shuffle-vector ["replay" "flame" "spook"]))
  622.              ("Baz" "Foo" "Bar" "rahul" "Bar")
  623.              ("Quux" 4)))
  624.  
  625.    This code defines four chains.  The first is named "Foo" and
  626. consists of "alumni" and "robo", in that order.  The second is named
  627. "Bar" and consists of "replay", "flame", and "spook" in some random
  628. order (a different order will be chosen each time the chain is used).
  629. The third is named "Baz" and consists of 9 remailers: The two from
  630. "Foo", followed by a permutation of the three from "Bar", followed by
  631. "rahul", followed by another permutation of the three from "Bar".
  632. Finally, the fourth is named "Quux" and consists of a random
  633. permutation of the four best remailers as ordered in the `~/.remailers'
  634. file.
  635.  
  636.    Now whenever you are prompted for a "remailer or chain", the chains
  637. "Foo", "Bar", "Baz", and "Quux" will be available, including `<TAB>'
  638. completion on their names.  By capitalizing their names, you guarantee
  639. they will show up near the top of the completion list if you type
  640. `<TAB>' on an empty input.
  641.  
  642.    Now for the gritty details.  `mc-remailer-user-chains' is a list of
  643. chain definitions.  A chain definition is a list whose first element is
  644. the name (a string) and whose remaining elements form a "remailer
  645. list".  Each element of a remailer list is one of the following:
  646.  
  647.   1. A raw remailer structure.  This is the base case, but you will
  648.      probably never want nor need to deal with these directly.
  649.  
  650.   2. A string naming another remailer chain to be spliced in at this
  651.      point.
  652.  
  653.   3. A positive integer N representing a chain to be spliced in at this
  654.      point and consisting of a random permutation of the top N
  655.      remailers as ordered in the `~/.remailers' file.
  656.  
  657.   4. An arbitrary Emacs Lisp form, which should return another remailer
  658.      list which will be spliced in at this point and recursively
  659.      evaluated.  Mmmm, Lisp.
  660.  
  661.         So, in the example "Bar" above, `shuffle-vector' is actually a
  662. Lisp primitive which returns a random permutation of the argument
  663. vector.  (Which brings up a side note: A remailer list can be a vector
  664. instead of a list if you like.)
  665.  
  666.    So where do the definitions for "replay" etc. come from?
  667.  
  668.    There is another variable, `mc-remailer-internal-chains', which has
  669. the same format as `mc-remailer-user-chains'.  In fact, the
  670. concatenation of the two is always used internally when resolving chains
  671. by name.  The "internal chains" are normally generated automatically
  672. from a Levien-format remailer list, which lives in `~/.remailers' by
  673. default and is parsed at startup time.  The parser creates several
  674. chains, each containing a single remailer, and names each chain after
  675. the respective remailer.
  676.  
  677.    Thus "replay" (for example) is actually the name of a *chain* whose
  678. single element is the remailer at <remailer@replay.com>.  So "replay"
  679. is a valid name of a chain to include in the definition of another
  680. chain, as was done above in the definition of "Bar".
  681.  
  682. 
  683. File: mailcrypt.info,  Node: Response Blocks,  Next: Pseudonyms,  Prev: Remailer Chains,  Up: Remailer Support
  684.  
  685. Response Blocks
  686. ===============
  687.  
  688.    Mailcrypt can generate a response block for you.  Just type `C-c / b'
  689. in an outgoing mail buffer.  That will prompt you for a chain to use,
  690. and will insert the response block at point.  Note that you can use any
  691. chain you want for your response block; it need not be related to the
  692. chain you (later) use to remail the message.
  693.  
  694.    If instead you type `C-u C-c / b', you will be dropped into a
  695. recursive edit of the innermost part of the response block.  This text
  696. is what you will see at the top of the message when the response block
  697. is used.  This text is the only way to identify the response block,
  698. since it will be used to mail you through anonymous remailers.
  699.  
  700.    You probably won't need to use the `C-u' feature, since by default
  701. the response block contains the date, `To' field, and `From' field of
  702. the message you are composing.  However, if you want your response
  703. block to point to a USENET newsgroup instead of your Email address, you
  704. may edit the innermost part of the response block to have a
  705. `Newsgroups' line instead of a `To' line.
  706.  
  707.    Inserting a response block also updates the `Reply-to' hashmark
  708. header field.  So, when your recipient replies to your message, the
  709. reply will automatically be addressed properly.  This only works if the
  710. last remailer in the chain used to encrypt the *message* supports
  711. hashmarks (the response block chain doesn't matter).  If the last
  712. remailer does not support hashmarks, Mailcrypt will generate an error
  713. when you try to use the chain.
  714.  
  715.    Note that you should insert your response block before you encrypt
  716. the message for remailing.  Also, see *Note Remailer Security::.
  717.  
  718. 
  719. File: mailcrypt.info,  Node: Pseudonyms,  Next: Remailing Posts,  Prev: Response Blocks,  Up: Remailer Support
  720.  
  721. Pseudonyms
  722. ==========
  723.  
  724.    Mailcrypt supports pseudonyms.  Type `C-c / p' in an outgoing message
  725. buffer and you will be prompted for a pseudonym to use.  Your pseudonym
  726. will show up in the `From' line that the recipient sees.  Your
  727. pseudonym may either be a complete `From' line (including an Email
  728. address), or just a full name (with no Email address).  In the latter
  729. case, the Email address will automatically be set to <x@x.x>, an invalid
  730. address designed to prevent sendmail from going rewrite-happy.
  731.  
  732.    If you have one or more pseudonyms which you normally use, and you
  733. aren't afraid of revealing them if your account is compromised, you can
  734. set up a default list of pseudonyms with lines like the following in
  735. your `.emacs' file:
  736.  
  737.      (setq mc-remailer-pseudonyms
  738.            '("Elvis Presley" "Vanna White" "Charles Manson"))
  739.  
  740.    Then those names will be available for completion when you are
  741. prompted for your pseudonym.
  742.  
  743.    You should insert your pseudonym before you insert a response block,
  744. so that the response block will contain the `From' line as well as the
  745. `To' line.  That way you can tell who you were pretending to be when
  746. you get a reply to your message.
  747.  
  748.    Note: Many remailers do not support pseudonyms.  In addition, the
  749. Levien format does not (yet) indicate which do and which do not, so
  750. Mailcrypt can't warn you when your pseudonym isn't going to work.  The
  751. only way to be sure is to send yourself a test message, and to try
  752. different remailers until you find one or more which work.  On the
  753. bright side, only the last remailer in the chain needs to provide such
  754. support; none of the others matter.
  755.  
  756. 
  757. File: mailcrypt.info,  Node: Remailing Posts,  Next: Mixmaster Support,  Prev: Pseudonyms,  Up: Remailer Support
  758.  
  759. Remailing Posts
  760. ===============
  761.  
  762.    Mailcrypt knows how to rewrite USENET posts for anonymous or
  763. pseudonymous remailing.  Just compose your post or followup normally,
  764. and use `C-c / r' to rewrite it for a remailer chain.  You don't even
  765. need to start your newsreader to make a post; you can just compose a
  766. message in mail mode and replace the `To' line with a `Newsgroups' line
  767. before doing `C-c / r'.
  768.  
  769.    Mailcrypt will generate an error if the last remailer in the chain
  770. does not have both the `post' and `hash' (hashmarks) properties.  The
  771. hashmarks are used to preserve `References' and similar headers, so
  772. your anonymous or pseudonymous followups will thread properly.  The
  773. variable `mc-remailer-preserved-headers' controls which headers are
  774. preserved when rewriting a message, but you should not need to change
  775. it since the default value is reasonable.
  776.  
  777.    Before rewriting, you can use `C-c / p' to insert your pseudonym,
  778. and `C-c / b' to insert your response block, just like when composing
  779. mail.  In this case, the response block will include the `From' line
  780. and the `Newsgroups' line (which is the news analogue to the `To' line).
  781.  
  782. 
  783. File: mailcrypt.info,  Node: Mixmaster Support,  Next: Remailer Security,  Prev: Remailing Posts,  Up: Remailer Support
  784.  
  785. Mixmaster Support
  786. =================
  787.  
  788.    "Mixmaster" is a new kind of remailer which provides excellent
  789. security against traffic analysis and replay attacks.  (For more
  790. information on these attacks and Mixmaster, see Lance Cottrell's home
  791. page at `http://www.obscura.com/~loki/'.
  792.  
  793.    If you do not use Mixmaster, you may skip this section entirely;
  794. Mailcrypt's default configuration treats Mixmaster as if it did not
  795. exist.
  796.  
  797.    If you have the Mixmaster executable installed, you can tell
  798. Mailcrypt to use it by placing lines like the following into your
  799. `.emacs' file:
  800.  
  801.      (setq mc-mixmaster-path "mixmaster")
  802.      (setq mc-mixmaster-list-path "/foo/bar/baz/type2.list")
  803.  
  804.    `mc-mixmaster-path' is a string representing the Mixmaster
  805. executable.  `mc-mixmaster-list-path' is the complete path to the
  806. `type2.list' file.
  807.  
  808.    Once these variables are defined, Mailcrypt will automatically try to
  809. use the Mixmaster executable whenever possible.  Specifically, when you
  810. rewrite a message for a chain, Mailcrypt will find maximal length
  811. sub-chains which have the `mix' property and will use the Mixmaster
  812. executable to rewrite for those sub-chains.
  813.  
  814.    This allows arbitrary intermingling of Mixmaster and normal (also
  815. called "Type 1") remailers, but you should note that this is *not
  816. recommended*.  The recommended procedure is to have a single Mixmaster
  817. sub-chain which is most or all of the whole chain.
  818.  
  819.    There are advantages and disadvantages to having the Mixmaster
  820. sub-chain at the end of the whole chain.  The primary advantage is that
  821. Mixmaster remailers support multiple recipients.  The primary
  822. disadvantages are that they do not support pseudonyms nor posting.
  823.  
  824.    So here, as always, it is the last element of the chain which needs
  825. to support the special features you want.  In general, the remaining
  826. elements do not matter, and the superior security of Mixmaster remailers
  827. is a good argument for using them for the bulk of your chains.
  828.  
  829.    Mixmaster remailers also have a "Type 1 compatibility mode" which you
  830. might want to invoke to use a pseudonym or make a post.  You can do this
  831. with the function `mc-demix'.  Here is an example of its use:
  832.  
  833.      (setq mc-remailer-user-chains
  834.            '(("Foo" "vishnu" "spook")
  835.              ("Bar" "Foo" (mc-demix "replay"))))
  836.  
  837.    This makes "Bar" a chain of three remailers, and guarantees that the
  838. last one ("replay") will be used in compatibility mode.
  839.  
  840.    Note that Mixmaster remailers cannot be used for response blocks.
  841. Mailcrypt will ignore the `mix' property when generating a response
  842. block.
  843.  
  844. 
  845. File: mailcrypt.info,  Node: Remailer Security,  Next: Verifiable Pseudonyms,  Prev: Mixmaster Support,  Up: Remailer Support
  846.  
  847. Remailer Security
  848. =================
  849.  
  850.    Keep in mind that there is only one person fully qualified to protect
  851. your privacy: *you*.  You are responsible for obtaining a list of
  852. remailers and their public keys; you are responsible for choosing which
  853. of them to use and in what order.  There are public lists of remailers
  854. and keys (the Quick Start section above relies on them), but you pay for
  855. the convenience by putting your trust in a single source.  This is one
  856. reason Mailcrypt does not access these public lists automatically; you
  857. need to get into the habit of watching what goes on behind the scenes.
  858. You should also try to learn something about the remailers themselves,
  859. since you are relying on them to help protect your privacy.
  860.  
  861.    How many remailers should you include in your chain, and how should
  862. you choose them?  That depends on whom you perceive as a threat.  If
  863. the threat is your ex-spouse or your boss, even a single remailer is
  864. probably adequate (more won't hurt, but will cost in latency).  If the
  865. threat is the Church of Scientology, you probably want to use a fair
  866. number of remailers across multiple continents.  If the threat is a
  867. major world government, well, best of luck to you.
  868.  
  869.    Also, there is a huge difference between chains suitable for regular
  870. messages and chains suitable for response blocks.  Some remailers don't
  871. even keep mail logs (at least, their operators claim they do not), so it
  872. may be literally impossible to trace a message back to you after the
  873. fact if you chain it through enough remailers.  Response blocks, on the
  874. other hand, have your identity buried in there *somewhere*.  In
  875. principle, at least, it is possible to compromise the keys of all the
  876. remailers in the chain and decrypt the response block.  So you should
  877. either use very long and strong chains for your response blocks, avoid
  878. using response blocks at all, or only use response blocks which
  879. themselves ultimately point to a newsgroup.
  880.  
  881. 
  882. File: mailcrypt.info,  Node: Verifiable Pseudonyms,  Next: Remailer Tips,  Prev: Remailer Security,  Up: Remailer Support
  883.  
  884. Verifiable Pseudonyms
  885. =====================
  886.  
  887.    Here is a plausible sequence of operations when using the remailer
  888. support in Mailcrypt:
  889.  
  890.   1. You create a public/private PGP key pair.  You give it a User ID
  891.      which is your pseudonym.  You upload the public key to the key
  892.      servers or otherwise distribute it.  (Be aware that anyone who
  893.      compromises your account can read the IDs on your secret keyring,
  894.      thus discovering your verifiable pseudonyms.)
  895.  
  896.   2. You compose an Email message, Email reply, news post, or news
  897.      followup.
  898.  
  899.   3. You insert your pseudonym with `C-c / p'.
  900.  
  901.   4. (Optional) You insert your response block with `C-c / b'.
  902.  
  903.   5. You type `C-c / s' to sign the message.  The `mc-sign' function
  904.      understands pseudonyms.
  905.  
  906.   6. You type `C-c / r' to rewrite the message for remailing.  (Or use
  907.      `C-u C-c / r' to view each step of the rewriting as it happens.)
  908.  
  909.   7. You type `C-c C-c' to send the message.
  910.  
  911.  
  912.    Now the recipient(s), reading your message through mail or news, can
  913. verify your pseudonymous signature; thus you have started to create a
  914. verifiable pseudonymous identity.  If you use it consistently, it will
  915. develop a reputation of its own.  With Mailcrypt, using a pseudonym is
  916. almost as easy as using your real name (and your followups in news will
  917. even thread properly).  Welcome to the new age of letters...
  918.  
  919. 
  920. File: mailcrypt.info,  Node: Remailer Tips,  Prev: Verifiable Pseudonyms,  Up: Remailer Support
  921.  
  922. Remailer Tips
  923. =============
  924.  
  925.    This is a collection of tips for using Mailcrypt's remailer support.
  926.  
  927.    * Read and understand the `.remailers' file.  If the service at
  928.      kiwi.cs.berkeley.edu is gone by the time you read this, track down
  929.      a comparable service elsewhere.  (Ask around in
  930.      `news:alt.privacy.anon-server' or, as a last resort,
  931.      `news:alt.security.pgp'.)  Check the documentation (`C-h v') for
  932.      the variable `mc-levien-file-name' for a description of Levien
  933.      format.
  934.  
  935.    * The relevant remailer properties are `pgp' (required), `hash'
  936.      (required if you use hashmark headers), and `post' (required for
  937.      posting to USENET).  Remailers which do not support PGP won't even
  938.      show up in the completion list.
  939.  
  940.    * The only remailer which needs special properties (e.g., posting,
  941.      hashmarks, pseudonym support) is the last one in a chain.  Any
  942.      remailer can be used at the beginning or in the middle.  So if you
  943.      find a few remailers which support the feature(s) you require, and
  944.      you always use them at the end of your chains, then you can be
  945.      confident that even the longest chains will work.
  946.  
  947.    * If you update your `~/.remailers' file, you can reread it with
  948.      `M-x mc-reread-levien-file'.
  949.  
  950.    * Remember the natural order of operations.  First you compose your
  951.      message.  Then you insert your pseudonym with `C-c / p'.  Then you
  952.      insert your response block with `C-c / b'.  Then you sign (`C-c /
  953.      s') or sign and encrypt (`C-c / e') the message.  Then you rewrite
  954.      it for a remailer or chain (`C-c / r').  Then you send it.  All
  955.      but the first and last two of these are optional.  (Well, strictly
  956.      speaking, they are all optional, but you get the idea.)
  957.  
  958.    * Find and read some of the excellent remailer documentation
  959.      available on the Internet.  For some good starting points, see
  960.      *Note References::.
  961.  
  962. 
  963. File: mailcrypt.info,  Node: Passphrase Cache,  Next: Key Fetching,  Prev: Remailer Support,  Up: Top
  964.  
  965. Passphrase Cache
  966. ****************
  967.  
  968.    Mailcrypt can remember your passphrase so that you need not type it
  969. repeatedly.  It will also "forget" your passphrase if it has not been
  970. used in a while, thus trading some security for some convenience.  You
  971. can tune this tradeoff with the variable `mc-passwd-timeout', which is
  972. a duration in seconds from the last time the passphrase was used until
  973. Mailcrypt will forget it.  The default value is 60 seconds.
  974.  
  975.    So, for example, to make Mailcrypt remember your passphrase for 10
  976. minutes after each use, you would use the following line in your
  977. `.emacs' file:
  978.  
  979.      (setq mc-passwd-timeout 600)
  980.  
  981.    A value of `nil' or 0 will disable passphrase caching completely.
  982. This provides some increase in security, but be aware that you are
  983. already playing a dangerous game by typing your passphrase at a Lisp
  984. interpreter.
  985.  
  986.    Mailcrypt understands multiple secret keys with distinct passphrases.
  987.  
  988.    To manually force Mailcrypt to forget your passphrase(s), use the
  989. function `mc-deactivate-passwd'.  Both `mc-read-mode' and
  990. `mc-write-mode' bind this function to `C-c / f' by default.
  991.  
  992.      *Warning:* Although Mailcrypt takes pains to overwrite your
  993.      passphrase when "forgetting", it cannot prevent the Emacs garbage
  994.      collector from possibly leaving copies elsewhere in memory.  Also,
  995.      your last 100 keystrokes can always be viewed with the function
  996.      `view-lossage', normally bound to `C-h l'.  So be sure to type at
  997.      least 100 characters after typing your passphrase if you plan to
  998.      leave your terminal unattended.
  999.  
  1000. 
  1001. File: mailcrypt.info,  Node: Key Fetching,  Next: Miscellaneous Configuration,  Prev: Passphrase Cache,  Up: Top
  1002.  
  1003. Key Fetching
  1004. ************
  1005.  
  1006.    Mailcrypt knows how to fetch PGP public keys from the key servers
  1007. (*note Key Servers::.).  The function `mc-pgp-fetch-key' is bound by
  1008. default to `C-c / k' in both `mc-read-mode' and `mc-write-mode'.
  1009. Additionally, `mc-encrypt', `mc-decrypt', and `mc-verify' will offer to
  1010. call this function to automatically fetch a desired key.  If you call
  1011. it manually, it will prompt you for the User ID of the key to fetch.
  1012.  
  1013.    The variable `mc-pgp-fetch-methods' is a list of ways to attempt to
  1014. fetch a key.  (More precisely, it is a list of functions to be called,
  1015. each of which will attempt to fetch the key.)  The methods will be tried
  1016. in the order listed.  The default list is:
  1017.  
  1018.      '(mc-pgp-fetch-from-keyrings
  1019.        mc-pgp-fetch-from-finger
  1020.        mc-pgp-fetch-from-http)
  1021.  
  1022.    For a description of these functions, see the following sections.
  1023.  
  1024.    If you are not directly on the Internet, you probably want to obtain
  1025. a copy of the global public key ring from the keyservers, install it
  1026. somewhere under the name `public-keys.pgp', and do:
  1027.  
  1028.      (setq mc-pgp-fetch-methods '(mc-pgp-fetch-from-keyrings))
  1029.      (setq mc-pgp-fetch-keyring-list '("/blah/blah/blah/public-keys.pgp"))
  1030.  
  1031.    This will allow you to fetch keys from your local copy of the global
  1032. key ring instead of sending requests to the key servers directly (*note
  1033. Keyring Fetch::.).  Alternately, if your organization has a proxy HTTP
  1034. server, you can configure Mailcrypt to use that.  See *Note HTTP
  1035. Fetch::.
  1036.  
  1037.    If the key is found, you will be shown the result of running PGP on
  1038. it locally.  This allows you to inspect the signatures on the key
  1039. *relative to your own keyring* before you consent to having it added.
  1040. *Inspect the signatures carefully!*  Key distribution is often the
  1041. Achilles' heel of public key protocols.  If you blindly use keys
  1042. obtained from the key servers, you are asking for trouble.
  1043.  
  1044.    All of the methods use `mc-pgp-fetch-timeout' as a timeout in
  1045. seconds; the default value is 30.
  1046.  
  1047. * Menu:
  1048.  
  1049. * Keyring Fetch::               Fetching from one or more other
  1050.                                   keyrings on the local system.
  1051. * Finger Fetch::                Fetching a key through finger.
  1052. * HTTP Fetch::                  Fetching a key off of the Web.
  1053.  
  1054. 
  1055. File: mailcrypt.info,  Node: Keyring Fetch,  Next: Finger Fetch,  Prev: Key Fetching,  Up: Key Fetching
  1056.  
  1057. Keyring Fetch
  1058. =============
  1059.  
  1060.    The function `mc-pgp-fetch-from-keyrings' will attempt to fetch a
  1061. key from a set of keyrings on the locally accessible filesystem.  This
  1062. is useful if your organization maintains a large common public keyring
  1063. whose entire contents you do not wish to duplicate on your own ring.  It
  1064. is also useful if you download a copy of the global public ring from the
  1065. key servers (*note Key Servers::.).
  1066.  
  1067.    The variable `mc-pgp-fetch-keyring-list' controls this behavior.  It
  1068. is a list of file names of public keyrings which this function will
  1069. search, in order, when seeking a key.  The default value is `nil',
  1070. meaning this search will always fail.
  1071.  
  1072. 
  1073. File: mailcrypt.info,  Node: Finger Fetch,  Next: HTTP Fetch,  Prev: Keyring Fetch,  Up: Key Fetching
  1074.  
  1075. Finger Fetch
  1076. ============
  1077.  
  1078.    The function `mc-pgp-fetch-from-finger' will attempt to fetch a key
  1079. by fingering an address and parsing the output for a PGP public key
  1080. block.
  1081.  
  1082. 
  1083. File: mailcrypt.info,  Node: HTTP Fetch,  Prev: Finger Fetch,  Up: Key Fetching
  1084.  
  1085. HTTP Fetch
  1086. ==========
  1087.  
  1088.    The function `mc-pgp-fetch-from-http' will attempt to fetch a key by
  1089. connecting to a key server (*note Key Servers::.) which has a World
  1090. Wide Web interface.
  1091.  
  1092.    The variables `mc-pgp-keyserver-address', `mc-pgp-keyserver-port',
  1093. and `mc-pgp-keyserver-url-template' control the fetching process.  The
  1094. default is to use Brian LaMacchia's key server at MIT.  If this default
  1095. should stop working, or if you want to help with network congestion and
  1096. machine load, you can choose a different server.  As of this writing,
  1097. any of the following sequences of Emacs Lisp in your `.emacs' file will
  1098. work; choose one:
  1099.  
  1100.      ;; Key server at MIT (Massachusetts, USA)
  1101.      ;; This is the default; these lines are only for reference
  1102.      ;(setq mc-pgp-keyserver-address "pgp.ai.mit.edu")
  1103.      ;(setq mc-pgp-keyserver-port 80)
  1104.      ;(setq mc-pgp-keyserver-url-template
  1105.      ;      "/htbin/pks-extract-key.pl?op=get&search=%s")
  1106.  
  1107.      ;; Key server at UPC (Barcelona, Spain)
  1108.      (setq mc-pgp-keyserver-address "goliat.upc.es")
  1109.      (setq mc-pgp-keyserver-port 80)
  1110.      (setq mc-pgp-keyserver-url-template
  1111.            "/cgi-bin/pks-extract-key.pl?op=get&search=%s")
  1112.  
  1113.      ;; Key server at Cambridge University (Cambridge, England)
  1114.      (setq mc-pgp-keyserver-address "www.cl.cam.ac.uk")
  1115.      (setq mc-pgp-keyserver-port 80)
  1116.      (setq mc-pgp-keyserver-url-template
  1117.            "/cgi-bin/pks-extract-key.pl?op=get&search=%s")
  1118.  
  1119.      ;; Key server at UIT (Tromso, Norway)
  1120.      (setq mc-pgp-keyserver-address "www.service.uit.no")
  1121.      (setq mc-pgp-keyserver-port 80)
  1122.      (setq mc-pgp-keyserver-url-template
  1123.            "/cgi-bin/pks-extract-key.pl?op=get&search=%s")
  1124.  
  1125.      ;; Key server at CMU (Pennsylvania, USA)
  1126.      (setq mc-pgp-keyserver-address "gs211.sp.cs.cmu.edu")
  1127.      (setq mc-pgp-keyserver-port 80)
  1128.      (setq mc-pgp-keyserver-url-template "/cgi-bin/pgp-key?pgpid=%s")
  1129.  
  1130.    If your organization has a firewall, you might not be able to access
  1131. the World Wide Web directly.  Your organization may have a proxy HTTP
  1132. server set up, however.  In that case, you should place code like the
  1133. following in your `.emacs' file.  You can use any of the above key
  1134. servers instead of the one at MIT, of course.
  1135.  
  1136.      ;; Mailcrypt configuration for accessing key server through HTTP proxy
  1137.      (setq mc-pgp-keyserver-address "your.proxy.com")
  1138.      (setq mc-pgp-keyserver-port 13013)  ; Your proxy's port
  1139.      (setq mc-pgp-keyserver-url-template
  1140.            "http://pgp.ai.mit.edu/htbin/pks-extract-key.pl?op=get&search=%s")
  1141.  
  1142.    Note that fetching from a key server can be somewhat slow, so be
  1143. patient.  (At least it beats the tar out of the Email interface.)
  1144.  
  1145. 
  1146. File: mailcrypt.info,  Node: Miscellaneous Configuration,  Next: Tips,  Prev: Key Fetching,  Up: Top
  1147.  
  1148. Miscellaneous Configuration
  1149. ***************************
  1150.  
  1151.    This chapter documents some additional Mailcrypt configuration
  1152. options which could not be naturally described elsewhere.
  1153.  
  1154. * Menu:
  1155.  
  1156. * Alternate Keyring::           Specifying a different file to act
  1157.                                   like your public keyring.
  1158. * Comment Field::               Burma
  1159.                                   Shave
  1160. * Mode Line::                   Changing that "MC-w" and "MC-r" stuff
  1161. * Key Bindings::                Which keys cause which actions.
  1162. * Nonstandard Paths::           Useful if your PGP installation is weird.
  1163.  
  1164. 
  1165. File: mailcrypt.info,  Node: Alternate Keyring,  Next: Comment Field,  Prev: Miscellaneous Configuration,  Up: Miscellaneous Configuration
  1166.  
  1167. Alternate Keyring
  1168. =================
  1169.  
  1170.    By default, Mailcrypt will use the same public keyring that PGP would
  1171. use if executed from the shell.
  1172.  
  1173.    You can cause Mailcrypt to use a specific public keyring by setting
  1174. the variable `mc-pgp-alternate-keyring'.  If this variable is set,
  1175. Mailcrypt will use that keyring for all functions which would otherwise
  1176. have used the default.  This includes adding keys, extracting keys,
  1177. verifying signatures, and encrypting messages.
  1178.  
  1179.    This feature might be useful if you maintain multiple keyrings; you
  1180. can switch between them by setting this variable.  Depending on your
  1181. tastes, you might want to configure fetching from a keyring as well
  1182. (*note Keyring Fetch::.).
  1183.  
  1184. 
  1185. File: mailcrypt.info,  Node: Comment Field,  Next: Mode Line,  Prev: Alternate Keyring,  Up: Miscellaneous Configuration
  1186.  
  1187. Comment Field
  1188. =============
  1189.  
  1190.    By default, Mailcrypt will supply a "comment" option to PGP,
  1191. resulting in output which looks something like this:
  1192.  
  1193.      ----- BEGIN PGP FOOBAR -----
  1194.      Version: 2.6.3
  1195.      Comment: Processed by Mailcrypt 3.4, an Emacs/PGP interface
  1196.      
  1197.      ...
  1198.      ----- END PGP FOOBAR -----
  1199.  
  1200.    To change the comment to one of your own, set the variable
  1201. `mc-pgp-comment'.  Set it to `nil' to use PGP's default, which is
  1202. probably either no comment or something defined in `config.txt'.
  1203.  
  1204. 
  1205. File: mailcrypt.info,  Node: Mode Line,  Next: Key Bindings,  Prev: Comment Field,  Up: Miscellaneous Configuration
  1206.  
  1207. Mode Line
  1208. =========
  1209.  
  1210.    `mc-read-mode' and `mc-write-mode' will each indicate they are
  1211. active by placing the string `MC-r' or `MC-w' in the mode line,
  1212. respectively.
  1213.  
  1214.    You can change these strings by setting the variables
  1215. `mc-read-mode-string' and `mc-write-mode-string'.  So, for example, to
  1216. get rid of the mode indicators entirely, you might put the following
  1217. lines into your `.emacs' file:
  1218.  
  1219.      (setq mc-read-mode-string "")
  1220.      (setq mc-write-mode-string "")
  1221.  
  1222. 
  1223. File: mailcrypt.info,  Node: Key Bindings,  Next: Nonstandard Paths,  Prev: Mode Line,  Up: Miscellaneous Configuration
  1224.  
  1225. Key Bindings
  1226. ============
  1227.  
  1228.    The Mailcrypt key bindings are defined by the keymaps
  1229. `mc-read-mode-map' and `mc-write-mode-map'.  To change the key
  1230. bindings, you just need to set these variables in your `.emacs' file.
  1231.  
  1232.    For example, if you wanted `C-c C-m' to be the Mailcrypt prefix
  1233. (instead of `C-c /') in `mc-read-mode', you would put the following
  1234. code in your `.emacs' file:
  1235.  
  1236.      (setq mc-read-mode-map (make-sparse-keymap))
  1237.      (define-key mc-read-mode-map "\C-c\C-mf" 'mc-deactivate-passwd)
  1238.      (define-key mc-read-mode-map "\C-c\C-md" 'mc-decrypt)
  1239.      (define-key mc-read-mode-map "\C-c\C-mv" 'mc-verify)
  1240.      (define-key mc-read-mode-map "\C-c\C-ma" 'mc-snarf)
  1241.      (define-key mc-read-mode-map "\C-c\C-mk" 'mc-pgp-fetch-key)
  1242.  
  1243.    For more information on Emacs key bindings, see *Note Customizing
  1244. Key Bindings: (emacs)Key Bindings.
  1245.  
  1246. 
  1247. File: mailcrypt.info,  Node: Nonstandard Paths,  Prev: Key Bindings,  Up: Miscellaneous Configuration
  1248.  
  1249. Nonstandard Paths
  1250. =================
  1251.  
  1252.    The information in this section should be unnecessary, but is
  1253. provided "just in case".
  1254.  
  1255.    Mailcrypt will look for the PGP executable in your standard search
  1256. path under the name `pgp'.  To use a different name (or to provide a
  1257. complete path), set the variable `mc-pgp-path'.
  1258.  
  1259.    In order to keep your identities straight, Mailcrypt needs to know
  1260. where your secret keyring resides.
  1261.  
  1262.    Mailcrypt figures this out heuristically by assuming that the file
  1263. `secring.pgp' is in the same directory as your public key ring.  It
  1264. determines the location of the latter by doing a dry run of PGP with
  1265. `+verbose=1' and parsing the output.
  1266.  
  1267.    If this heuristic is failing for you, you can manually tell Mailcrypt
  1268. where your secret key ring is by setting the variable `mc-pgp-keydir',
  1269. like this:
  1270.  
  1271.      (setq mc-pgp-keydir "/users/patl/.pgp/")
  1272.  
  1273.    Note that the trailing slash is *required*.
  1274.  
  1275.    If the heuristic fails, please report it as a bug (*note Credits::.).
  1276.  
  1277.    Note that if you have changed the default location of your secret
  1278. keyring, Mailcrypt will be unable to locate it.  You can work around
  1279. this by either setting `mc-pgp-keydir', or by making a symbolic link to
  1280. your secret keyring from `secring.pgp' in your default public keyring
  1281. directory.
  1282.  
  1283. 
  1284. File: mailcrypt.info,  Node: Tips,  Next: Limitations,  Prev: Miscellaneous Configuration,  Up: Top
  1285.  
  1286. Tips
  1287. ****
  1288.  
  1289.    Here are some random tips.
  1290.  
  1291.    * PGP provides quite good security when used correctly.  You are far
  1292.      more likely to use it correctly if you have read the directions.
  1293.      Read the `PGP User's Guide'!
  1294.  
  1295.    * 60 seconds is a relatively safe but somewhat inconvenient value for
  1296.      `mc-passwd-timeout'.  If your paranoia permits, consider increasing
  1297.      it to five or ten minutes (*note Passphrase Cache::.).
  1298.  
  1299.    * If Mailcrypt ever does something you wish it had not, *DON'T
  1300.      PANIC*.  Just use the normal Emacs undo command, `M-x undo' or
  1301.      `C-x u', to restore your buffer (*note Emacs Undo: (emacs)Undo.).
  1302.      Mailcrypt keeps almost no state except what you see in your
  1303.      buffer, so any action can be undone this way.
  1304.  
  1305.    * All Mailcrypt operations place PGP's output in the `*MailCrypt*'
  1306.      buffer.  Check it occasionally for status and warning messages.
  1307.  
  1308.    * Add yourself to the Mailcrypt announcements mailing list (*note
  1309.      Mailing List::.).  That way you can find out about new versions of
  1310.      Mailcrypt automatically, and we can enjoy the feeling that people
  1311.      are actually using our package.
  1312.  
  1313. 
  1314. File: mailcrypt.info,  Node: Limitations,  Next: References,  Prev: Tips,  Up: Top
  1315.  
  1316. Limitations
  1317. ***********
  1318.  
  1319.    Mailcrypt is a powerful program, but it is not a complete PGP
  1320. interface.  Perhaps some future version will be; in the meantime, you
  1321. will need to use the command-line interface for some operations.
  1322. Things which the current version does not support include:
  1323.  
  1324. *Complete Key Management*
  1325.      Mailcrypt's key management support is limited to adding and
  1326.      extracting keys from keyrings.  It does not support key
  1327.      generation, key removal, key revocation, ID and trust parameter
  1328.      editing, or key signing.  It also ignores PGP's warnings when you
  1329.      use a key which is not fully certified.  (Of course, you can see
  1330.      these warnings by viewing the `*MailCrypt*' buffer; see *Note
  1331.      Tips::.)
  1332.  
  1333. *Encryption with Conventional Cryptography*
  1334.      Mailcrypt supports decryption but not encryption with
  1335.      "conventional" (i.e., non-public key) cryptography.
  1336.  
  1337. *Detached Signatures*
  1338.      Mailcrypt does not support the creation nor the verification of
  1339.      detached signatures.
  1340.  
  1341. *"For your eyes only" Decryption*
  1342.      Mailcrypt will be unable to decrypt a file which was encrypted
  1343.      with the "for your eyes only" (`-m') option.  This is actually a
  1344.      bug in PGP, which provides no portable way to avoid its paging
  1345.      behavior.
  1346.  
  1347. 
  1348. File: mailcrypt.info,  Node: References,  Next: Credits,  Prev: Limitations,  Up: Top
  1349.  
  1350. References
  1351. **********
  1352.  
  1353.    This chapter contains information and pointers to information about
  1354. topics related to PGP and Mailcrypt.
  1355.  
  1356. * Menu:
  1357.  
  1358. * Online Resources::            Recreational reading with a purpose.
  1359. * Key Servers::                 Keepers of the Global Keyring.
  1360. * Mailing List::                Staying informed while pumping the
  1361.                                   authors' egos.
  1362. * Politics::                    Anarcho-foobarism.
  1363.  
  1364. 
  1365. File: mailcrypt.info,  Node: Online Resources,  Next: Key Servers,  Prev: References,  Up: References
  1366.  
  1367. Online Resources
  1368. ================
  1369.  
  1370. `http://world.std.com/~franl/crypto.html'
  1371.      "Cryptography, PGP, and Your Privacy", by Fran Litterio.  This
  1372.      page is simply excellent.  It makes all the other References in
  1373.      this chapter redundant, but we will include them anyway for
  1374.      redundancy.
  1375.  
  1376. `http://web.mit.edu/network/pgp.html'
  1377.      MIT is the canonical distribution site for PGP; this is the
  1378.      announcement page.
  1379.  
  1380. `ftp://rtfm.mit.edu/pub/usenet/alt.security.pgp/'
  1381.      This is an archive site for the `alt.security.pgp' FAQ lists.
  1382.  
  1383. `news:alt.security.pgp'
  1384.      The `alt.security.pgp' newsgroup is a good place to go for
  1385.      discussion about PGP, as well as any topic which any fool anywhere
  1386.      ever thinks is related to PGP.  It is also a good last resort for
  1387.      getting answers to questions, but please read the FAQ lists first.
  1388.  
  1389. `http://pgp.ai.mit.edu/~bal/pks-toplev.html'
  1390.      Brian LaMacchia (bal@zurich.ai.mit.edu) has put together a World
  1391.      Wide Web interface to the public key servers (*note Key
  1392.      Servers::.).  Mailcrypt uses this interface by default when
  1393.      attempting to fetch keys via HTTP (*note HTTP Fetch::.); most
  1394.      people get to his interface through this page.
  1395.  
  1396. `ftp://ftp.csua.berkeley.edu/pub/cypherpunks/Home.html'
  1397.      The Cypherpunks are dedicated to taking proactive measures to
  1398.      ensure privacy in the digital age.  They wrote the software for,
  1399.      and operate many of, the anonymous remailers currently in
  1400.      existence.
  1401.  
  1402. `http://www.cs.berkeley.edu/~raph/'
  1403.      Raph Levien actively maintains a remailer list which Mailcrypt
  1404.      knows how to parse.  If you are impressed by how easy it is to
  1405.      configure Mailcrypt's remailer functions, Raph is the one to
  1406.      thank.  Raph's page also has many useful links.
  1407.  
  1408. `http://www.obscura.com/~loki/'
  1409.      Lance Cottrell is the author of Mixmaster.  His home page is the
  1410.      canonical source for information on Mixmaster and is a good source
  1411.      for PGP pointers in general.
  1412.  
  1413. 
  1414. File: mailcrypt.info,  Node: Key Servers,  Next: Mailing List,  Prev: Online Resources,  Up: References
  1415.  
  1416. Key Servers
  1417. ===========
  1418.  
  1419.    "Key servers" are machines with a publicly accessible interface to
  1420. an enormous global public keyring.  Anyone may add keys to or query this
  1421. keyring.  Each key server holds a complete copy of the global keyring,
  1422. and they arrange to keep one another informed of additions they receive.
  1423.  
  1424.    This means you can tell any key server to add your public key to the
  1425. global keyring, and all of the other servers will know about it within a
  1426. day or so.  Then anyone will be able to query any key server to obtain
  1427. your public key.
  1428.  
  1429.    To add your key to the keyservers, send an Email message to
  1430. `pgp-public-keys@pgp.ai.mit.edu' with a subject line of `ADD' and a
  1431. body containing your public key block.  With Mailcrypt installed, you
  1432. can just type `C-c / x' to insert your public key block (*note
  1433. Inserting Keys::.) into the body of the message.
  1434.  
  1435.    For help with the Email interface to the key servers, send a message
  1436. with a subject line of `HELP'.  For a World Wide Web interface to the
  1437. key servers, see Brian LaMacchia's home page at
  1438. `http://www-swiss.ai.mit.edu/~bal/'.
  1439.  
  1440.    Some other key servers include:
  1441.  
  1442.    * pgp-public-keys@jpunix.com
  1443.  
  1444.    * pgp-public-keys@kub.nl
  1445.  
  1446.    * pgp-public-keys@uit.no
  1447.  
  1448.    * pgp-public-keys@pgp.ox.ac.uk
  1449.  
  1450.    For a complete list, consult any good online repository of PGP
  1451. information (*note Online Resources::.).
  1452.  
  1453.    It is strongly recommended that you submit your key to the key
  1454. servers, since many humans and programs (including Mailcrypt) may look
  1455. for it there.  Besides, it takes mere seconds and the pain passes
  1456. quickly.
  1457.  
  1458. 
  1459. File: mailcrypt.info,  Node: Mailing List,  Next: Politics,  Prev: Key Servers,  Up: References
  1460.  
  1461. Mailing List
  1462. ============
  1463.  
  1464.    If you would like to automatically receive information about new
  1465. releases of Mailcrypt, send Email to
  1466. `mc-announce-request@cag.lcs.mit.edu' asking to be placed on the
  1467. `mc-announce' mailing list.  The mailing list is maintained manually,
  1468. so please be patient.
  1469.  
  1470.    The `mc-announce' list is reserved for announcements of new
  1471. Mailcrypt versions, so it has extremely low volume.  We encourage you to
  1472. add yourself so we can get a rough idea of how many people are using
  1473. our package.
  1474.  
  1475. 
  1476. File: mailcrypt.info,  Node: Politics,  Prev: Mailing List,  Up: References
  1477.  
  1478. Politics
  1479. ========
  1480.  
  1481.    Cryptography in general, PGP in particular, and free software are
  1482. politically somewhat controversial topics.  Heck, in the U.S. Congress,
  1483. freedom of speech is a controversial topic.  Anyway, here are some
  1484. organizations you should definitely watch and preferably send lots of
  1485. money.
  1486.  
  1487. *The Electronic Frontier Foundation*
  1488.      The EFF (`http://www.eff.org/') works to protect civil liberties in
  1489.      cyberspace.  They also maintain an impressive collection of on-line
  1490.      resources.  If you like Mailcrypt so much that you wish you had
  1491.      paid for it, this is the number one place we would want to see
  1492.      your money go.  The EFF newsgroups, `comp.org.eff.news' and
  1493.      `comp.org.eff.talk', are required reading for the well-informed.
  1494.  
  1495. *The League for Programming Freedom*
  1496.      The LPF (`http://www.lpf.org/') works to fight software patents,
  1497.      which threaten to make free software like Mailcrypt impossible.
  1498.  
  1499. *The Center for Democracy and Technology*
  1500.      The CDT (`http://www.cdt.org/') has essentially the same goals as
  1501.      the EFF, but is more of a lobbying group.
  1502.  
  1503.    Mailcrypt's remailer support was inspired by the Communications
  1504. Decency Act of 1995 (see `http://www.cdt.org/cda.html') and by the
  1505. International "Church" of Scientology (see
  1506. `http://www.mit.edu:8001/people/rnewman/scientology/').
  1507.  
  1508. 
  1509. File: mailcrypt.info,  Node: Credits,  Next: Index,  Prev: References,  Up: Top
  1510.  
  1511. Credits
  1512. *******
  1513.  
  1514.    Mailcrypt was written by Jin Choi (jin@atype.com) and Pat LoPresti
  1515. (patl@lcs.mit.edu).  Please send us your bug reports and comments.
  1516. Also see *Note Mailing List::.
  1517.  
  1518.    This documentation was mostly written by Pat LoPresti, but borrows
  1519. heavily from an earlier version by Hal Abelson (hal@mit.edu).
  1520.  
  1521.    Mailcrypt would not be as robust nor as featureful if it were not for
  1522. our outstanding set of Beta testers:
  1523.  
  1524.    * Samuel Tardieu <sam@inf.enst.fr>
  1525.  
  1526.    * Richard Stanton <stanton@haas.berkeley.edu>
  1527.  
  1528.    * Peter Arius <arius@immd2.informatik.uni-erlangen.de>
  1529.  
  1530.    * Tomaz Borstnar <tomaz@cmir.arnes.si>
  1531.  
  1532.    * Barry Brumitt <belboz@frc2.frc.ri.cmu.edu>
  1533.  
  1534.    * Steffen Zahn <Steffen.Zahn%robinie@sunserv.sie.siemens.co.at>
  1535.  
  1536.    * Mike Campbell <mcampbel@offenbach.sbi.com>
  1537.  
  1538.    * Mark Baushke <mdb@cisco.com>
  1539.  
  1540.    * Mike Long <mike.long@analog.com>
  1541.  
  1542. 
  1543. File: mailcrypt.info,  Node: Index,  Prev: Credits,  Up: Top
  1544.  
  1545. Index
  1546. *****
  1547.  
  1548.    This index has an entry for every key sequence, function, and
  1549. variable documented in this manual.
  1550.  
  1551. * Menu:
  1552.  
  1553. * C-c / a:                               Snarfing Keys.
  1554. * C-c / b:                               Response Blocks.
  1555. * C-c / d:                               Decrypting.
  1556. * C-c / e:                               Encrypting.
  1557. * C-c / f:                               Passphrase Cache.
  1558. * C-c / k:                               Key Fetching.
  1559. * C-c / p:                               Pseudonyms.
  1560. * C-c / r:                               Remailer Chains.
  1561. * C-c / s:                               Signing.
  1562. * C-c / v:                               Verifying.
  1563. * C-c / x:                               Inserting Keys.
  1564. * mc-always-replace:                     Decrypting.
  1565. * mc-deactivate-passwd:                  Passphrase Cache.
  1566. * mc-decrypt:                            Decrypting.
  1567. * mc-demix:                              Mixmaster Support.
  1568. * mc-encrypt:                            Encrypting.
  1569. * mc-encrypt-for-me:                     Encrypting.
  1570. * mc-insert-public-key:                  Inserting Keys.
  1571. * mc-install-read-mode:                  General Use.
  1572. * mc-install-write-mode:                 General Use.
  1573. * mc-levien-file-name:                   Remailer Tips.
  1574. * mc-mixmaster-list-path:                Mixmaster Support.
  1575. * mc-mixmaster-path:                     Mixmaster Support.
  1576. * mc-passwd-timeout:                     Passphrase Cache.
  1577. * mc-pgp-alternate-keyring:              Alternate Keyring.
  1578. * mc-pgp-always-sign:                    Encrypting.
  1579. * mc-pgp-comment:                        Comment Field.
  1580. * mc-pgp-fetch-from-finger:              Finger Fetch.
  1581. * mc-pgp-fetch-from-http:                HTTP Fetch.
  1582. * mc-pgp-fetch-from-keyrings:            Keyring Fetch.
  1583. * mc-pgp-fetch-key:                      Key Fetching.
  1584. * mc-pgp-fetch-keyring-list:             Keyring Fetch.
  1585. * mc-pgp-fetch-methods:                  Key Fetching.
  1586. * mc-pgp-keydir:                         Nonstandard Paths.
  1587. * mc-pgp-keyserver-address:              HTTP Fetch.
  1588. * mc-pgp-keyserver-port:                 HTTP Fetch.
  1589. * mc-pgp-keyserver-url-template:         HTTP Fetch.
  1590. * mc-pgp-path:                           Nonstandard Paths.
  1591. * mc-pgp-user-id:                        Encrypting.
  1592. * mc-post-encryption-hook:               Encrypting.
  1593. * mc-post-signature-hook:                Signing.
  1594. * mc-pre-encryption-hook:                Encrypting.
  1595. * mc-pre-signature-hook:                 Signing.
  1596. * mc-read-mode:                          General Use.
  1597. * mc-read-mode-map:                      Key Bindings.
  1598. * mc-read-mode-string:                   Mode Line.
  1599. * mc-remailer-encrypt-for-chain:         Remailer Chains.
  1600. * mc-remailer-internal-chains:           Remailer Chains.
  1601. * mc-remailer-preserved-headers:         Remailing Posts.
  1602. * mc-remailer-pseudonyms:                Pseudonyms.
  1603. * mc-remailer-user-chains:               Remailer Chains.
  1604. * mc-reread-levien-file:                 Remailer Tips.
  1605. * mc-sign:                               Signing.
  1606. * mc-snarf:                              Snarfing Keys.
  1607. * mc-verify:                             Verifying.
  1608. * mc-write-mode:                         General Use.
  1609. * mc-write-mode-map:                     Key Bindings.
  1610. * mc-write-mode-string:                  Mode Line.
  1611.  
  1612.  
  1613. 
  1614. Tag Table:
  1615. Node: Top970
  1616. Node: Introduction4928
  1617. Node: Prerequisites5681
  1618. Node: Installation6775
  1619. Node: Hooking into Rmail8048
  1620. Node: Hooking into VM8380
  1621. Node: Hooking into MH-E8820
  1622. Node: Hooking into Gnus9154
  1623. Node: Command Overview9468
  1624. Node: General Use10648
  1625. Node: Encrypting12624
  1626. Node: Signing15277
  1627. Node: Inserting Keys16621
  1628. Node: Decrypting17600
  1629. Node: Verifying19096
  1630. Node: Snarfing Keys19689
  1631. Node: Remailer Support20033
  1632. Node: Remailer Introduction21042
  1633. Node: Remailer Quick Start23564
  1634. Node: Remailer Chains24929
  1635. Node: Response Blocks28610
  1636. Node: Pseudonyms30386
  1637. Node: Remailing Posts32126
  1638. Node: Mixmaster Support33384
  1639. Node: Remailer Security36062
  1640. Node: Verifiable Pseudonyms38139
  1641. Node: Remailer Tips39632
  1642. Node: Passphrase Cache41638
  1643. Node: Key Fetching43316
  1644. Node: Keyring Fetch45687
  1645. Node: Finger Fetch46463
  1646. Node: HTTP Fetch46742
  1647. Node: Miscellaneous Configuration49478
  1648. Node: Alternate Keyring50187
  1649. Node: Comment Field51033
  1650. Node: Mode Line51665
  1651. Node: Key Bindings52251
  1652. Node: Nonstandard Paths53220
  1653. Node: Tips54609
  1654. Node: Limitations55850
  1655. Node: References57200
  1656. Node: Online Resources57730
  1657. Node: Key Servers59817
  1658. Node: Mailing List61496
  1659. Node: Politics62104
  1660. Node: Credits63516
  1661. Node: Index64460
  1662. 
  1663. End Tag Table
  1664.